Assertions for C++
نویسنده
چکیده
In this report I describe types of program annotations that could be used in C++ to enhance the testability, assurance, and overall quality of the code being developed. These annotations are formal, processable assertions which capture constraints and speciications which cannot be discerned from the program code itself. I rst describe in some depth previous work in this area, and then try to apply this work to the C++ programming language.
منابع مشابه
Improving Software Testability with Assertion Insertion
Executable assertions can be inserted into a program to nd software faults. Unfortunately, the process of designing and embedding these assertions can be expensive and time consuming. We have developed the C-Patrol tool to reduce the overhead of using assertions in C programs. C-Patrol allows a developer to reference a set of previously de ned assertions, written in virtual C, bind assertion pa...
متن کاملAssertions for the Tcl Language
Assertions, even as simple as the C assert macro, o er important self-checking properties to programs, and improve the robustness of software when they are used. This paper describes AsserTcl, an assertion package for the Tcl programming language. Our assertions take the form of commands in the program text, and cover point assertions about the computation state, assertions about procedure inpu...
متن کاملA Static Analysis for Program Understanding and Debugging
This paper presents a static pointer analysis technique for a subset of C. The tool supports user-defined assertions inserted in the body of the program. Assertions are of two kinds: static assertions automatically verified by the analyser, and hypothetical assertions treated as assumptions by the analyser. The technique deals with recursive data structures and it is accurate enough to handle c...
متن کاملContracts: From Analysis to C++ Implementation
Standard C++ does not provide mechanisms for working with assertions in the spirit of design by contract (DBC) as proposed by Meyer. We earlier developed a set of techniques and tools facilitating the prototyping of object-oriented architectures based on the idea of design by contract. As it is crucial for us to support evolutionary prototyping, we need to provide mechanisms to automatically tr...
متن کاملAn Approach to Assertion-based Debugging of Higher-Order (C)LP Programs
Higher-order constructs extend the expressiveness of firstorder (Constraint) Logic Programming ((C)LP) both syntactically and semantically. At the same time assertions have been in use for some time in (C)LP systems helping programmers detect errors and validate programs. However, these assertion-based extensions to (C)LP have not been integrated well with higher-order to date. This paper contr...
متن کاملAn Approach to Higher-Order Assertion-based Debugging of Higher-Order (C)LP Programs
Higher-order constructs extend the expressiveness of firstorder (Constraint) Logic Programming ((C)LP) both syntactically and semantically. At the same time assertions have been in use for some time in (C)LP systems helping programmers detect errors and validate programs. However, these assertion-based extensions to (C)LP have not been integrated well with higher-order to date. This paper contr...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1994